package ar.com.gals.model;

import org.hibernate.validator.constraints.NotEmpty;

import ar.com.gals.domain.TipoEquivalencia;
import ar.com.gals.error.GalsException;
import ar.com.gals.service.TipoEquivalenciaService;

public class TipoEquivalenciaModel {

	@NotEmpty(message="{MSG_REQUIRED}")
	private String nombre;
	
	private String descripcion;
	
	
	public TipoEquivalenciaModel() {}

	public TipoEquivalenciaModel(int tipoEquivalenciaId) throws GalsException {
		TipoEquivalencia tipoEquivalencia = new TipoEquivalenciaService().getById(tipoEquivalenciaId);
		this.setNombre(tipoEquivalencia.getNombre());
		this.setDescripcion(tipoEquivalencia.getDescripcion());
	}
	
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	
	public void crearTipoEquivalencia() throws GalsException {
		
		TipoEquivalenciaService service = new TipoEquivalenciaService();
		
		TipoEquivalencia tipoEquivalencia = new TipoEquivalencia();
		tipoEquivalencia.setNombre(this.getNombre());
		tipoEquivalencia.setDescripcion(this.getDescripcion());
		
		service.create(tipoEquivalencia);
	}

	
	public void modificarTipoEquivalencia(int tipoEquivalenciaId) throws GalsException {

		TipoEquivalenciaService service = new TipoEquivalenciaService();
		
		TipoEquivalencia tipoEquivalencia = service.getById(tipoEquivalenciaId);
		tipoEquivalencia.setNombre(this.getNombre());
		tipoEquivalencia.setDescripcion(this.getDescripcion());
			
		service.update(tipoEquivalencia);
	}
	

	public void eliminarTipoEquivalencia(int tipoEquivalenciaId) throws GalsException {

		TipoEquivalenciaService service = new TipoEquivalenciaService();
		
		TipoEquivalencia tipoEquivalencia = service.getById(tipoEquivalenciaId);
			
		service.delete(tipoEquivalencia);
	}
}
